<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class reportes extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->library('html2pdf');
    }

    public function imprimirComprobante($idd) {
        $sucursal = $this->session->userdata['idSuc'];
        $this->load->model("ventas/venta_model");
        $data = array(
            'title' => 'Listado de comprobantes',
            'venta' => $this->venta_model->listarComprobanteRep(0,$idd),
            'detalle' => $this->venta_model->listarComprobanteRep(1,$idd)
        );
        $this->reporte("COMPROBANTE", "intranet/ventas/comprobante_report", $data);
    }
  
    public function reporte($nombre, $vista, $data) {
        $this->createFolder(); //establecemos la carpeta en la que queremos guardar los pdfs,
        $this->html2pdf->folder('./reportes/pdfs/'); //importante el slash del final o no funcionará correctamente
        $this->html2pdf->filename("$nombre.pdf"); //establecemos el nombre del archivo
        $this->html2pdf->paper('a5', 'landscape');
        $this->html2pdf->html(utf8_decode($this->load->view($vista, $data, true)));

        if ($this->html2pdf->create('save')) {
            $this->show($nombre);
        }
    }

    private function createFolder() {
        if (!is_dir("./reportes"))
            mkdir("./reportes", 0777);
        if (!is_dir("./reportes/pdfs"))
            mkdir("./reportes/pdfs", 0777);
    }

    public function show($nombre) {
        if (is_dir("./reportes/pdfs")) {
            $filename = "$nombre.pdf";
            $route = base_url("reportes/pdfs/$nombre.pdf");
            if (file_exists("./reportes/pdfs/" . $filename)) {
                header('Content-type: application/pdf');
                readfile($route);
            }
        }
    }

    //funcion que ejecuta la descarga del pdf
    public function downloadPdf() {
        //si existe el directorio
        if (is_dir("./reportes/pdfs")) {
            //ruta completa al archivo
            $route = base_url("reportes/pdfs/test.pdf");
            //nombre del archivo
            $filename = "test.pdf";
            //si existe el archivo empezamos la descarga del pdf
            if (file_exists("./reportes/pdfs/" . $filename)) {
                header("Cache-Control: public");
                header("Content-Description: File Transfer");
                header('Content-disposition: attachment; filename=' . basename($route));
                header("Content-Type: application/pdf");
                header("Content-Transfer-Encoding: binary");
                header('Content-Length: ' . filesize($route));
                readfile($route);
            }
        }
    }

}

?>
